package com.spider.gp.util;

import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.documents4j.api.DocumentType;
import com.documents4j.api.IConverter;
import com.documents4j.job.LocalConverter;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestPart;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URLEncoder;

@Controller
@Slf4j
public class CoverUtil {

    /**
     * 通过aspose 将word转pdf
     *
     * @param sourcePath 源文件地址 如 /root/example.doc
     * @param targetPath 目标文件地址 如 /root/example.pdf
     */
//    public static void asposeWordToPdf(String sourcePath, String targetPath) {
//        LoadOptions opts = new LoadOptions();
////        opts.setMswVersion(MsWordVersion.WORD_2016);
//        opts.getLanguagePreferences().setDefaultEditingLanguage(EditingLanguage.CHINESE_PRC);
//        Document doc = null;
//        try {
//            doc = new Document(sourcePath, opts);
//            ParagraphFormat pf = doc.getStyles().getDefaultParagraphFormat();
//            pf.clearFormatting();
//
//            PdfSaveOptions options = new PdfSaveOptions();
//            // 文字和图像压缩
//            options.setExportDocumentStructure(true);
//            options.setTextCompression(PdfTextCompression.FLATE);
//            options.setImageCompression(PdfImageCompression.AUTO);
//            // 接收修订
//            doc.acceptAllRevisions();
//            // 去掉批注
//            NodeCollection nc = doc.getChildNodes(NodeType.COMMENT,true);
//            if (nc != null && nc.getCount() > 0) {
//                for(int i=0;i<nc.getCount();i++){
//                    log.info("清除批注：{}",nc.get(i).getText());
//                    Node comment =nc.get(i);
//                    comment.getParentNode().removeChild(comment);
//                }
//            }
//            // 将Word另存为PDF
//            doc.save(targetPath, options);
//        } catch (Exception e) {
//            log.error("[aspose] word转pdf失败:{}", e.toString());
//        }
//
//    }

}
